Inter-network messaging for mobile computing platforms

ABSTRACT

The present disclosure generally relates to one or more methods for organizing a plurality of remote units or mobile computing platform (MCPs) associated with vehicles such that the remote units or MCPs may communicate with each other, for example, without routing messages via the backend server. In some aspects, the remote units or MCPs may initiate the process by transmitting an awake and/or ready message to the server. The message may indicate the state of the remote unit or MCP and provide communication establishment information of the remote unit or MCP. Accordingly, the server may maintain a list of remote units or MCPs that are awake and configured for inter-network communication. In some aspects, the server may periodically distribute the compiled list of active MCPs, such that one remote unit or MCP may establish direct peer-to-peer (P2P) communication with one or more other remote units or MCPs in a fleet.

BACKGROUND

Systems for tracking, managing and maintaining a fleet of portableassets generally includes one or more systems for monitoring thelocation of the portable asset and one or more systems for monitoringthe performance of the portable asset. A system for monitoring thelocation of the portable asset may include a radio transmitter, a globalpositioning system (GPS) device, a terrestrial-based communicationsystem such as a cellular network, or another type of communicationdevice capable of periodically or continuously reporting its geographiclocation and other metrics relating to the portable asset to a receivingdevice. A system for monitoring the performance of the portable assetmay include a number of sensors that collect and report vehicleperformance data and a user interface for monitoring operatorinteraction with the portable asset.

In some aspects, the system for tracking, managing and maintaining theportable assets may include, but is not limited to, a remote unitreferred to as a mobile computing platform (MCP) located in a cab and/ortrailer of a vehicle transporting a portable asset. The MCP maycommunicate with a network management center (NMC) that collects andanalyzes information from one or more MCPs in a fleet. An example of anMCP includes, but is not limited to, an MCP 50, an MCP 100, an MCP 110,an MCP 200, and a TT210 sold by Omnitracs, LLC of Dallas, Tex.

In some examples, remote units or MCPs may be configured to communicateonly with the NMC via bidirectional links (e.g., uplink channels and/ordownlink channels). Thus, there is a desire for improvement in MCPcommunications.

SUMMARY

The described features generally relate to one or more improved systems,methods, and/or devices for organizing a plurality of remote units orMCPs associated with vehicles such that the remote units or MCPs maycommunicate with each other, for example, without routing messages viathe backend server (e.g., NMC). In some aspects, the remote units orMCPs may initiate the process by transmitting an awake and/or readymessage to the server. The message may indicate the state of the remoteunit or MCP (e.g., awake and/or ready) and provide communicationestablishment information of the remote unit or MCP. Accordingly, theserver may maintain a list of remote units or MCPs that are awake andconfigured for inter-network communication. In some aspects, the servermay periodically distribute the compiled list of active MCPs, such thatone remote unit or MCP may establish direct peer-to-peer (P2P)communication with one or more other remote units or MCPs in a fleet.Subsequently, in one non-limiting example, MCP-to-MCP communication maybe established without relying on the server for subsequentcommunications.

In some aspect, a method for wireless communications is described. Themethod may include receiving, at a network management center, a readymessage from a first mobile computing platform. The ready message mayindicate that the first mobile computing platform is ready tocommunicate with at least one second mobile computing platform. Themethod may further include compiling, at the network management center,a list of mobile computing platforms configured for inter-networkmessaging based on the ready message. In some examples, the method mayinclude receiving a query command from the first mobile computingplatform or the at least one second mobile computing platform, anddisseminating the list of the mobile computing platforms configured forinter-network messaging to the first mobile computing platform or the atleast one second mobile computing platform based on the query command.In one or more examples, an apparatus and/or a computer readable mediummay perform the steps identified in the method of the first set ofillustrative embodiments.

The foregoing has outlined rather broadly the features and technicaladvantages of examples according to the disclosure in order that thedetailed description that follows may be better understood. Additionalfeatures and advantages will be described hereinafter. The conceptionand specific examples disclosed may be readily utilized as a basis formodifying or designing other structures for carrying out the samepurposes of the present disclosure. Such equivalent constructions do notdepart from the scope of the appended claims. Characteristics of theconcepts disclosed herein, both their organization and method ofoperation, together with associated advantages will be better understoodfrom the following description when considered in connection with theaccompanying figures. Each of the figures is provided for the purpose ofillustration and description, and not as a definition of the limits ofthe claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed aspects of the present disclosure will hereinafter bedescribed in conjunction with the appended drawings, provided toillustrate and not to limit the disclosed aspects, wherein likedesignations denote like elements, where a dashed line may indicate anoptional component, and in which:

FIG. 1 is a functional block diagram of example elements of an aspect ofa system for managing inter-network messaging for MCP(s) in accordancewith the present disclosure;

FIG. 2 is a schematic diagram of an aspect of MCP described inaccordance with the present disclosure;

FIG. 3 is a schematic diagram of the subcomponents of an aspect of thesystem for managing inter-network messaging for MCP(s) in accordancewith the present disclosure;

FIG. 4 is a flowchart of an example of an aspect of a method managinginter-network messaging for MCP(s) in accordance with the presentdisclosure;

FIG. 5 is a block diagram of an example of an aspect of a mobilecomputing platform with a messaging component in accordance with thepresent disclosure; and

FIG. 6 is a block diagram of an example of an aspect of a networkmanagement center (NMC) with a messaging management component inaccordance with the present disclosure.

DETAILED DESCRIPTION

Various aspects are now described with reference to the drawings. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofone or more aspects. It should be understood, however, that suchaspect(s) may be practiced without these specific details.

As discussed above, the present disclosure provides a method andapparatus for organizing a plurality of remote units or MCPs associatedwith vehicles such that a MCP unit may communicate with at least oneother MCP, such as without routing messages via the backend server(e.g., NMC). In some aspects of the present disclosure, one or more MCPsmay initiate the process by transmitting an awake and/or ready messageto the NMC. The message may indicate the state of the MCP (e.g., awakeand/or ready) and provide communication establishment information (e.g.,an IP address of the MCP). Accordingly, the NMC may maintain a list ofMCP units that are awake and configured for inter-network communication.In some aspects, the NMC may periodically distribute the compiled listof active MCP units to one or more MCPs, such that one MCP may establishP2P communication with one or more other MCPs in a fleet, e.g., withoutrelying on the NMC for subsequent communications.

Referring to FIG. 1, in an aspect, a system 100 includes components forinter-networking of mobile computing platforms (MCPs), as well as forcollecting, analyzing and presenting fleet and/or driver management orperformance data associated with each MCP. In some aspects, for example,system 100 may further be configured to organize one or more MCPs 106 toallow the MCPs to communicate with each other without relying on a hostor backend server, such as network management center (NMC) 102. In anaspect, NMC 102 may be configured to communicate with one or more MCPs106 each associated with a corresponding vehicle 104. In an aspect, thesystem 100 includes fleets of vehicles 104, each fleet having at leastone vehicle. However, typically, a fleet could include many tens,hundreds or thousands of vehicles. An example fleet is illustrated ashaving vehicles 104. Additional fleets (not shown) are contemplated, butnot shown. In implementations, each of the vehicles 104 can comprise MCP106 configured to collect and transmit data associated with theoperation of the vehicle 104 to the NMC 102. Also, in someimplementations, MCP 106 can be configured to perform calculationsassociated with one or more fleet and/or driver management orperformance applications 107 using any of the collected data.

Additionally, in accordance with the present disclosure, the MCP 106 maybe configured with a messaging component 109 to allow inter-network(e.g., peer-to-peer (P2P)) communication between multiple MCP(s) 106,such as without routing messages via the NMC 102. In an aspect,messaging component 109 may also be referred to as, or may include, aDriver Information Exchange Application (DIEA). Further, in someimplementations, MCP 106 includes a processor configured to executemessaging component 109, as well as one or more fleet and/or drivermanagement or performance applications 107, and a memory configured tostore the applications and any data associated with MCP 106. Further, inimplementations, MCP 106 may include a user interface or display, amobile application server, and a communications component (e.g.,including one or more of terrestrial and Wi-Fi modems, one or moreantennae, a GPS component, and a satellite communications component).For example, in an aspect, MCP 106 may include, but is not limited to,an MCP200 platform sold by OMNITRACS LLC of Dallas, Tex., which mayinclude one or more fleet and/or driver management or performanceapplications 107 including but not limited to Analytics Manager,Critical Event Reporting, Driver Workflow, Extended Productivity Suite,Fault Monitoring, Hours of Service, In-Cab Navigation, In-Cab Scanning,In-Cab Video Training, Media Manager, Performance Monitoring with FuelManager, Predictive Performance Service, Trip Manager, VehicleMaintenance and Inspection Reporting, and Web Browsing, as well asmessaging component 109 for performing the inter-network communicationaspects described herein.

As an example only, each MCP 106 may be in bi-directional communicationwith NMC 102 over at least one communication channel. In the exampleshown in FIG. 1, each vehicle 104 may be in bi-directional communicationwith the NMC 102 over at least one of a satellite-based communicationsystem 108 or a terrestrial-based system 110 (e.g., GSM, CDMA, TDMA,WCDMA, EDGE, OFDM, GPRS, EV-DO, WiFi, and others). Depending on manyfactors, data may be exchanged with the vehicles 104 using anycombination of the satellite communication system 108 and theterrestrial-based communication system 110.

In an aspect, associated with the execution of one or more fleet and/ordriver management or performance applications 107, many different typesof data are collected and transferred from the vehicles 104 to the NMC102. Examples of such data include, but are not limited to, driverperformance data, driver duty status, truck performance data, criticalevents, messaging and position data, location delivery data, and manyother types of data. In some aspects, data collected from the vehicles104 is processed by the NMC 102. The NMC 102 can be thought of as a dataclearinghouse that receives all data that is transmitted to and receivedfrom the vehicles 104.

Additionally, in some aspects, one or more MCPs 106 associated withvehicles 104 may be configured with messaging component 109 to allowinter-network (e.g., P2P) communication between the MCPs, e.g., withoutrelaying the messages via the NMC 102. For example, in an aspect,messaging component 109 may operate to send one or more configurationmessages to NMC 102, where the one or more configuration messagesinclude a “ready” message and/or an “awake” message (both describedbelow) relating to an inter-network communication capability of the MCP.Accordingly, in these aspects, the NMC 102 (or data center 112, asdescribed below) may maintain and/or compile a list of active MCPs 106that are configured for inter-network messaging. In some aspects, theNMC 102, in response to receiving a query from one or more the MCPs 106,may disseminate the list of the active MCPs 106 to the one or more MCPs106 to allow the one or more MCPs 106 to establish inter-networkcommunication for subsequent messages without involving the NMC 102. Assuch, two or more MCPs 106 may communicate directly with one another,e.g., via a terrestrial-based system 110 or satellite-basedcommunication system 108 using the information disseminated by NMC 102.

The system 100 also includes a data center 112, which may be part of orin communication with NMC 102. The data center 112 illustrates onepossible implementation of a central repository for all of the datareceived from each of the vehicles 104. As an example, as mentionedabove many different types of data are transmitted from the MCPs 106located on vehicles 104 to the NMC 102. In the case where data center112 is in communication with NMC 102, the data may be transmitted viaconnection 111 to the data center 112. The connection 111 may compriseany wired or wireless dedicated connection, a broadband connection, orany other communication channel configured to transport the data.

In an aspect, the data center 112 may include a data warehouse 114 forreceiving the data from vehicles 104 relating to fleet and/or drivermanagement or performance. In an aspect, for example, data center 112may include any number of application servers and data stores, whereeach may be associated with a separate fleet and/or driver management orperformance data. In an aspect, each application server and data storemay include a processor, memory including volatile and non-volatilememory, operational software, a communication bus, an input/outputmechanism, and other operational systems. In some examples, a firstapplication server may be a services portal (SP) server that receives,for example, messaging and positioning (M/P) data and/or locationdelivery efficiency (LDE) data from each of the vehicles 104. Anotherapplication server, for example only, may include one or more serversrelated to safety and compliance, such as a quick deployment center(QDC) server that receives, for example, critical event (CE) data fromeach of the vehicles 104, or such as an hours of service (HOS) serverthat receives data related to, for example, duty status (DS) data suchas the number of hours that a driver operates a vehicle 104. Further,for example, another application server may be a fuel cost server thatreceives, for example, vehicle and driver performance data related tofuel usage and/or cost from each of the vehicles 104. Additionally, forexample only, another application server may relate to asset management,such as a Vehicle Maintenance and Vehicle Inspection Report server thatreceives, for example, maintenance and/or inspection data from each ofthe vehicles 104. It should be understood that the above list of exampleservers is for illustrative purposes only, and data center 112 mayinclude additional and/or different application servers.

In an aspect, the data center 112 may include an analytics managercomponent 116 for analyzing the data in data warehouse 114 from vehicles104 and generating fleet and/or driver management or performancemetrics. For example, analytics manager component 116 may generate fleetand/or driver management or performance metrics associated with one ormore applications on MCP 106.

Additionally, in accordance with the present disclosure, the data center112 may also include a message management component 120, which mayinclude, or which may be referred to as an MCP interworking server (MIS)configured to manage and configure all applications which will requireMCP inter-networking. The message management component 120 may receiveone or more configuration messages associated with inter-networkmessaging from the messaging component 109 associated with the MCP 106.For example, the message management component 120 may receive the“ready” message comprising an MCP communication header, message type(e.g., ready), driver name or identification, source IP address,destination IP address, MCP type, and/or application versions supportedby the MCP. In some examples, the “ready” message transmitted by themessaging component 109 may indicate that the MCP 106 is ready andavailable to communicate directly with other MCP(s) 106 in the fleetusing inter-network messaging.

Additionally or alternatively, the message management component 120 mayalso, periodically, receive an “awake” message from the messagingcomponent 109 of the MCP 106. Because the MCP 106 may go out of coverageor go into sleep mode after a predetermined number of hours of driving,the messaging component 109 may utilize “awake” messages to maintainconnection with the NMC 102. Accordingly, the messaging component 109may transmit an “awake” message during periodic intervals. In someexamples, the MCP 106 may transmit the “awake” message every 15 minutes.In some aspects, a user (e.g., the driver or fleet manager 126) maydynamically adjust the periodicity of transmitting “awake” messages.Similar to the “ready” message, the “awake” message may identify the MCPtype, applications supported by the MCP 106, source IP address,destination IP address and the status of the MCP 106.

Based on the combination of “ready” and “awake” messages, the messagemanagement component 120 may compile a list of available and activeMCP(s) 106 that are configured for inter-network messaging. In someaspects, the message management component 120 may group the one or moreactive MCP(s) based on location (e.g., MCP(s) 106 within a specifiedradius), MCP capabilities and/or fleet. Thus, in some examples, uponadvertising its capabilities to the NMC 102, the MCP 106 maysubsequently transmit a query command to the NMC 102. The query commandmay request, from the NMC 102, a list of active MCP(s) 106 associatedwith at least one group (e.g., location, fleet, etc.). In response, theNMC 102 may transmit a compiled list to the MCP 106, thereby allowingthe MCP 106 to initiate inter-network messaging, e.g., withoutsubsequent communication through the NMC 102. In some examples, theinter-network messaging may include a message including information suchas a road safety alert, company related information, or text messagesbetween drivers, where in some aspects the message is routed directlybetween the MCP(s) 106 without NMC 102 intervention. In some examplesMIS may be responsible for grouping a plurality of MCP(s) 106 based onconfiguration parameters received from fleet owners. Thus, in someexamples, the MIS may maintain a list of participating MCP(s) 106 basedon grouping organized by MIS.

Additionally or alternatively, an analytics manager component 116 mayimplement a set of routines that may receive data from data warehouse114 over connection 118. The analytics manager component 116 maycapture, manipulate, and provide this data in a usable format, forexample, over connection 122 for display on a terminal device 124. Theterminal device 124 can be a user interface portal, a web-basedinterface, a personal computer (PC), a laptop, a personal data assistant(PDA), a dedicated terminal, a dumb terminal, or any other device overwhich a fleet manager 126, such as a manager or operator responsible formonitoring a fleet of vehicles 104, can view the display provided by theterminal device 124. In an aspect, analytics manager component 116 is ananalysis engine defined by or operating via an execution system 128, forexample, connected via a system bus 130. In an aspect, the executionsystem 128 includes a processor 132 and a memory 134. The memory canstore the routines that are associated with analytics manager component116 and message management component 120. In an aspect, the processor132 can execute the stored routines to implement the functionality ofanalytics manager component 116 and message management component 120that are described herein. In another aspect, the functionality ofanalytics manager component 116 and message management component 120 asdescribed herein may be implemented in one or more hardware or firmwareprocessor modules of processor 132. Although shown as residing withinthe data center 112, the execution system 128 may reside elsewhere, andmay be implemented as a distributed system in which the processor 132and the memory 134 are located in different places.

Referring to FIG. 2 a schematic diagram 200 of elements of the MCP 106may include one or more applications 205 executed on the processor ofthe MCP 106. In some instances, applications 205 may include messagingcomponent 109 for inter-network messaging and/or one or more fleetand/or driver management or performance applications 107. As notedabove, messaging component 109 may include or may be referred to as adriver information exchange application (DIEA) that allows MCPs 106 tocommunicate directly with one another, e.g., without such communicationsbeing relayed through NMC 102 (FIG. 1).

In some instances, the applications 205 such as messaging component 109may utilize the service layer 215 illustrated in FIG. 2 for transmittingand/or receiving messages to and/or from the NMC 102 and to and/or fromother MCP(s) 106. For example, in an aspect, service layer 215 is aprotocol layer that provides an interface to one or more lower protocollayers. In some aspects, service layer 215 may support messaging,configuration data distribution (CDD) and group based messaging.

Following the service layer 215, the message may flow through a genericover the air protocol (GOTAP) layer 220. The GOTAP layer 220 may beresponsible for selecting the transport and using the correspondingprotocol to transmit the message to the NMC 102 and/or other MCP 106. Insome instances, the GOTAP layer 220 may interface with multiple over theair (OTA) protocols. In some instances, the GOTAP layer 220 may beresponsible for implementing persistence, priority, segmentation,encryption and security protocols 222. In one example, the GOTAP layer220 may include a flow control entity 226, as well as resubmission logic228, that may be responsible for picking the transport mechanism andmaking sure that every message is transmitted (or retransmitted)successfully and in-order over the selected transport mechanism based ona priority queue 224 that stores one or more messages for transmission.

Based on the transport selection by the GOTAP layer, the message may beforwarded to transport layer 230. In some examples, the transport layer230 may support a plurality of protocols for communicating via acommunications component (e.g., including one or more of a terrestrialmodem 240 and Wi-Fi modem 235, one or more antennae, a GPS component,and a satellite communications component 245). It should be mentionedthat any data relating to fleet performance, vehicle performance, driverperformance, location delivery performance, fuel efficiency, and anumber of other fleet vehicle performance parameters may be communicatedin real-time.

Referring to FIG. 3, a subset 300 of system 100 highlights subcomponentsof an aspect of MCP 106 and NMC 102 as discussed with reference to FIGS.1-2 above. In accordance with the present disclosure, the messagingcomponent 109 may include a status determination component 305 formonitoring the status of the MCP 106. In some examples, the statusdetermination component 305 may generate messages (e.g., ready and/orawake messages) to be transmitted to the message management component120 associated with the NMC 102. Additionally or alternatively, theinter-network messaging component 310 may be configured to identifyactive MCP(s) 106 for inter-network messaging and establishingcommunication with one or more MCP(s) 106. In some examples, theinter-network messaging component 310 may transmit a query command tothe message management component 120 to request a list of active MCP(s)106 based on at least one criterion. The criterion may request a list ofall active MCP(s) 106, or all active MCP(s) 106 within, for example, anidentified distance of the requesting MCP 106, or within a same fleet,or of a same MCP type, or to get a list of one or more MCP(s) 106 basedon one or more corresponding Unified Addresses (UAs), or to get a listof one or more MCP(s) 106 based on one or more corresponding drivernames/IDs. Additionally or alternatively, the inter-network messagingcomponent 310, upon receiving a response message from the messagemanagement component 120, may initiate direct communication with otherMCP(s) 106 without relaying subsequent messages through the NMC 102.

In some aspects, the message management component 120 may include anactivity monitoring component 315. In some examples, the messagemanagement component 120 may be part of the NMC 102 or the MIS discussedabove. The activity monitoring component 315 may receive one or moremessages (e.g., ready and awake messages) from the status determinationcomponent 305 of the MCP 106. Based on receiving the messages, the MCPgrouping component 320 may compile a list of active MCP(s) 106configured for inter-network messaging. In some examples, the MCPgrouping component 320 may group the one or more MCP(s) 106 based ongrouping rules, which may include rules such as but not limited togrouping by location, by fleet, by MCP type, based on one or morecorresponding Unified Addresses (UAs), based on one or morecorresponding driver names/IDs, or any combination thereof In someexamples, the MCP grouping component 320 may filter the plurality ofactive and ready MCP(s) based on one or more parameters identified inthe query command received from the messaging component 109.Accordingly, in one example, the MCP grouping component 320 may transmita list of active and ready MCP(s) 106 to the requesting MCP (106) basedon the parameters requested by the inter-network messaging component310.

Referring to FIG. 4, an example of a method 400 for managinginter-network messaging of MCP(s) 106 in accordance with the presentdisclosure includes an interaction between the NMC 102 and an MCP 106associated with a vehicle 104. In some aspects, the MCP 106 may includea messaging component 109 described with reference to FIGS. 1-3.Additionally or alternatively, the NMC 102 may include a messagemanagement component 120 described with reference to FIGS. 1-3.

At block 402, the method 400 may be initiated by the MCP 106 bytransmitting a ready message to the NMC 102. In some examples, thestatus determination component 305 may be configured to generate theready message. Additionally or alternatively, the communicationscomponent 515 (FIG. 5) may transmit the generated ready message over acommunication medium to the NMC 102.

At block 404, the ready message may be received by the messagemanagement component 120 associated with the NMC 102. In some examples,the communications component 605 (FIG. 6) associated with the NMC 102may be configured to receive the generated message over a communicationmedium at the NMC 102.

In some examples, the MCP 106 associated with vehicle 104 may, at times,go outside the wireless communication coverage area and/or enter sleepmode. Leaving the coverage area and/or entering the sleep mode may causethe MCP 106 to disconnect from the NMC 102. Therefore, in order tomaintain an active connection, the MCP 106, at block 406, may optionallytransmit an awake message to the NMC 102. In some aspects, the statusdetermination component 305 may be configured to generate the awakemessage. Additionally or alternatively, the communications component 515(FIG. 5) may transmit the generated awake message over a communicationmedium to the NMC 102.

At block 408, upon receiving the ready message or the awake message fromat least one MCP 106, the method 400 may include compiling a list ofactive MCP(s) that are ready to participate in inter-network messaging.In some aspects, activity monitoring component 315 may be configured toprocess aspects of block 408. In some examples, if the MCP 106 fails tomaintain an active connection with the NMC 102 (via periodictransmission of awake messages), the activity monitoring component 315may remove the inactive MCP 106 from the compiled list.

At block 410, the messaging component 109 may determine whether toinitiate inter-network messaging. If the messaging component 109determines not to initiate the inter-network messaging, the messagingcomponent 109 may return to block 406 to continue transmitting awakemessages during a predetermined time interval. Alternatively, if themessaging component 109, at block 410, determines to initiateinter-network messaging, the messaging component 109, at block 412 mayrequest a compiled list of active MCP(s), which may be further based onat least one parameter, by transmitting a query command to the NMC 102.The at least one parameter may comprise the geo-location of otherMCP(s), type of MCP(s), fleet association, a Unified Address (UA), adriver name/ID, or any combination thereof.

At block 414, the message management component 120 may receive the querycommand from the messaging component 109 and, in an aspect, may filterthe list of active MCP(s) to identify MCP(s) in at least one group basedon the received parameter(s). In some examples, the MCP groupingcomponent 320 may be configured to compile a list of active MCP(s) thatsatisfy the parameters identified by the messaging component 109.

Accordingly, at block 418, the message management component 120 maytransmit the compiled a list of active MCP(s) of a group that satisfythe parameters identified by the messaging component 109. In someaspects, the communications component 605 (FIG. 6) may be configured totransmit the compiled list to the MCP 106. In an aspect, the compiled alist of active MCP(s) may include communication establishmentinformation associated with an identified MCP to enable directcommunication with the listed MCP. In one or more examples,communication establishment information may include an IP address.

At block 420, the MCP may generate a message to at least one second MCPselected from the list provided by the message management component 120.In some examples, the generated message may be transmitted directly tothe second MCP, e.g., without being relayed via the NMC 102, based onuse of the IP address in the generated message. For example, in anaspect, MCP 106 may transmit the generated message to the second MCP viaterrestrial system 110 or satellite system 108. In some aspects, theinter-network messaging component 310, in collaboration withcommunications component 515 (FIG. 5), may be responsible fortransmitting messages to other MCP(s) without involvement of NMC 102.

FIG. 5 illustrates an example of MCP 106 for inter-network messaging inaccordance with the present disclosure. In one aspect, the MCP 106 mayinclude a processor 505 that may be or may include a speciallyprogrammed or configured computer device to perform the functionsdescribed herein. In one aspect of implementation, MCP 106 may includemessaging component 109 and its sub-components, such as in speciallyprogrammed computer readable instructions or code, firmware, hardware,or some combination thereof.

In an aspect, for example as represented by the dashed lines, featuresdescribed herein may be implemented in or executed using one or anycombination of processor 505, memory 510, communications component 515,and data store 520. For example, messaging component 109 may be definedor otherwise programmed as one or more processor modules of processor505. Further, for example, messaging component 109 may be defined as acomputer-readable medium (e.g., a non-transitory computer-readablemedium) stored in memory 510 and/or data store 520 and executed byprocessor 505. Moreover, for example, inputs and outputs relating tooperations of messaging component 109 may be provided or supported bycommunications component 515, which may provide a bus between thecomponents of computer device or an interface for communication withexternal devices or components.

In some aspects, MCP 106 may include processor 505 specially configuredto carry out processing functions associated with one or more ofcomponents and functions described herein. Processor 505 can include asingle or multiple set of processors or multi-core processors. Moreover,processor 505 can be implemented as an integrated processing systemand/or a distributed processing system.

The MCP 106 further includes memory 510, such as for storing data usedherein and/or local versions of applications and/or software and/orinstructions or code being executed by processor 505, such as to performthe respective functions of the respective entities described herein.Memory 510 can include any type of memory usable by a computer, such asrandom access memory (RAM), read only memory (ROM), tapes, magneticdiscs, optical discs, volatile memory, non-volatile memory, and anycombination thereof.

Further, MCP 106 may include communications component 515 that providesfor establishing and maintaining communications with one or more partiesutilizing hardware, software, and services as described herein.Communications component 515 may carry communications between componentson MCP 106, as well as between user and external devices, such asdevices located across a communications network and/or devices seriallyor locally connected to MCP 106. For example, communications component515 may include one or more buses, and may further include transmitchain components and receive chain components associated with atransmitter and receiver, respectively, or a transceiver, operable forinterfacing with external devices.

Additionally, MCP 106 may further include data store 520, which can beany suitable combination of hardware and/or software, that provides formass storage of information, databases, and programs employed inconnection with aspects described herein. For example, data store 520may be a data repository for applications not currently being executedby processor 505.

MCP 106 may additionally include a user interface component 525 operableto receive inputs from a user, and further operable to generate outputsfor presentation to the user. User interface component 525 may includeone or more input devices, including but not limited to a keyboard, anumber pad, a mouse, a touch-sensitive display, a navigation key, afunction key, a microphone, a voice recognition component, any othermechanism capable of receiving an input from a user, or any combinationthereof. Further, user interface component 525 may include one or moreoutput devices, including but not limited to a display, a speaker, ahaptic feedback mechanism, a printer, any other mechanism capable ofpresenting an output to a user, or any combination thereof.

FIG. 6 illustrates an example of NMC 102 for managing inter-networkmessaging in accordance with the present disclosure. In one aspect, theNMC 102 may include a processor 132 that may be or may include aspecially programmed or configured computer device to perform thefunctions described herein. In one aspect of implementation, NMC 102 mayinclude message management component 120 and its sub-components, such asin specially programmed computer readable instructions or code,firmware, hardware, or some combination thereof.

In an aspect, for example as represented by the dashed lines, featuresdescribed herein may be implemented in or executed using one or anycombination of processor 132, memory 134, communications component 605,and data store 610. For example, analytics management component 116and/or message management component 120 may be defined or otherwiseprogrammed as one or more processor modules of processor 132. Further,for example, message management component 120 may be defined as acomputer-readable medium (e.g., a non-transitory computer-readablemedium) stored in memory 134 and/or data store 610 and executed byprocessor 132. Moreover, for example, inputs and outputs relating tooperations of analytics component 116 and/or message managementcomponent 120 may be provided or supported by communications component605, which may provide a bus between the components of computer deviceor an interface for communication with external devices or components.

In some aspects, NMC 102 may include processor 132 specially configuredto carry out processing functions associated with one or more ofcomponents and functions described herein. Processor 132 can include asingle or multiple set of processors or multi-core processors. Moreover,processor 132 can be implemented as an integrated processing systemand/or a distributed processing system.

The NMC 102 further includes memory 134, such as for storing data usedherein and/or local versions of applications and/or software and/orinstructions or code being executed by processor 132, such as to performthe respective functions of the respective entities described herein.Memory 134 can include any type of memory usable by a computer, such asrandom access memory (RAM), read only memory (ROM), tapes, magneticdiscs, optical discs, volatile memory, non-volatile memory, and anycombination thereof.

Further, NMC 102 may include communications component 605 that providesfor establishing and maintaining communications with one or more partiesutilizing hardware, software, and services as described herein.Communications component 605 may carry communications between componentson NMC 102, as well as between user and external devices, such asdevices located across a communications network and/or devices seriallyor locally connected to NMC 102. For example, communications component605 may include one or more buses, and may further include transmitchain components and receive chain components associated with atransmitter and receiver, respectively, or a transceiver, operable forinterfacing with external devices.

Additionally, NMC 102 may further include data store 610, which can beany suitable combination of hardware and/or software, that provides formass storage of information, databases, and programs employed inconnection with aspects described herein. For example, data store 610may be a data repository for applications not currently being executedby processor 132.

NMC 102 may additionally include a user interface component 615 operableto receive inputs from a user, and further operable to generate outputsfor presentation to the user. User interface component 615 may includeone or more input devices, including but not limited to a keyboard, anumber pad, a mouse, a touch-sensitive display, a navigation key, afunction key, a microphone, a voice recognition component, any othermechanism capable of receiving an input from a user, or any combinationthereof. Further, user interface component 525 may include one or moreoutput devices, including but not limited to a display, a speaker, ahaptic feedback mechanism, a printer, any other mechanism capable ofpresenting an output to a user, or any combination thereof.

In view of the disclosure above, one of ordinary skill in programming isable to write computer code or identify appropriate hardware and/orcircuits to implement the disclosed invention without difficulty basedon the flow charts and associated description in this specification, forexample. Therefore, disclosure of a particular set of program codeinstructions or detailed hardware devices is not considered necessaryfor an adequate understanding of how to make and use the invention. Theinventive functionality of the claimed computer implemented processes isexplained in more detail in the above description and in conjunctionwith the FIGS. which may illustrate various process flows.

In the above description, the term “application” may include fileshaving executable content, such as: object code, scripts, byte code,markup language files, and patches. In addition, an “application”referred to herein, may also include files that are not executable innature, such as documents that may need to be opened or other data filesthat need to be accessed.

The term “content” may also include files having executable content,such as: object code, scripts, byte code, markup language files, andpatches. In addition, “content” referred to herein, may also includefiles that are not executable in nature, such as documents that may needto be opened or other data files that need to be accessed.

As used in this description, the terms “component,” “database,”“module,” “system,” and the like are intended to refer to acomputer-related entity, either hardware, firmware, a combination ofhardware and software, software, or software in execution. For example,a component may be, but is not limited to being, a process running on aprocessor, a processor, an object, an executable, a thread of execution,a program, and/or a computer. By way of illustration, both anapplication running on a computing device and the computing device maybe a component. One or more components may reside within a processand/or thread of execution, and a component may be localized on onecomputer and/or distributed between two or more computers. In addition,these components may execute from various computer readable media havingvarious data structures stored thereon. The components may communicateby way of local and/or remote processes such as in accordance with asignal having one or more data packets (e.g., data from one componentinteracting with another component in a local system, distributedsystem, and/or across a network such as the Internet with other systemsby way of the signal).

In one or more exemplary aspects, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted as one or more instructions or code on a computer-readablemedium. Computer-readable media include both computer storage media andcommunication media including any medium that facilitates transfer of acomputer program from one place to another. A storage media may be anyavailable media that may be accessed by a computer. By way of example,and not limitation, such computer-readable media may comprise RAM, ROM,EEPROM, CD-ROM or other optical disk storage, magnetic disk storage orother magnetic storage devices, or any other medium that may be used tocarry or store desired program code in the form of instructions or datastructures and that may be accessed by a computer.

Disk and disc, as used herein, includes compact disc (“CD”), laser disc,optical disc, digital versatile disc (“DVD”), floppy disk and blu-raydisc where disks usually reproduce data magnetically, while discsreproduce data optically with lasers. Combinations of the above shouldalso be included within the scope of computer-readable media.

Although selected aspects have been illustrated and described in detail,it will be understood that various substitutions and alterations may bemade therein without departing from the spirit and scope of the presentinvention, as defined by the following claims.

What is claimed is:
 1. A method for supporting communications betweenmobile computing platforms associated with a fleet of vehicles,comprising: receiving, at a network management center, a ready messagefrom a first mobile computing platform, wherein the ready messageindicates that the first mobile computing platform is ready tocommunicate with at least one second mobile computing platform;compiling, at the network management center, a list of mobile computingplatforms configured for inter-network messaging based on the readymessage; receiving a query command from the first mobile computingplatform or the at least one second mobile computing platform; anddisseminating the list of the mobile computing platforms configured forinter-network messaging to the first mobile computing platform or the atleast one second mobile computing platform based on the query command.2. The method of claim 1, further comprising receiving an awake messagefrom the first mobile computing platform at least once in a time period,wherein the awake message indicate that the first mobile computingplatform is in a state for communicating with other mobile computingplatforms.
 3. The method of claim 2, wherein the awake messages includesan internet protocol (IP) address of the first mobile computingplatform, location information of the mobile computing platform, driveridentification information associated with the mobile computingplatform, and a type of the mobile computing platform.
 4. The method ofclaim 1, wherein the ready message includes at least one of a internetprotocol (IP) address of the first mobile computing platform, locationinformation of the first mobile computing platform, driveridentification information associated with the first mobile computingplatform, or a type of the first mobile computing platform.
 5. Themethod of claim 1, wherein the mobile computing platforms are configuredto communicate with other mobile computing platforms via a Wi-Finetwork, a cellular network, or a satellite network.
 6. The method ofclaim 1, wherein the query command includes a parameter for filteringthe list of mobile computing platforms.
 7. An apparatus for supportingcommunications between mobile computing platforms, comprising: aprocessor; a memory in communication with the processor, the memoryincluding instructions executed by the processor to: receive, at anetwork management center, a ready message from a first mobile computingplatform, wherein the ready message indicates that the first mobilecomputing platform is ready to communicate with at least one secondmobile computing platform; compile, at the network management center, alist of mobile computing platforms configured for inter-networkmessaging based on the ready message; receive a query command from thefirst mobile computing platform or the at least one second mobilecomputing platform; and disseminate the list of the mobile computingplatforms configured for inter-network messaging to the first mobilecomputing platform or the at least one second mobile computing platformbased on the query command.
 8. The apparatus of claim 7, wherein theinstructions are further executable by the processor to: receive anawake message from the first mobile computing platform at least once ina time period, wherein the awake message indicate that the first mobilecomputing platform is in a state for communicating with other mobilecomputing platforms.
 9. The apparatus of claim 8, wherein the awakemessages includes an internet protocol (IP) address of the first mobilecomputing platform, location information of the mobile computingplatform, driver identification information associated with the mobilecomputing platform, and a type of the mobile computing platform.
 10. Theapparatus of claim 7, wherein the ready message includes at least one ofa internet protocol (IP) address of the first mobile computing platform,location information of the first mobile computing platform, driveridentification information associated with the first mobile computingplatform, or a type of the first mobile computing platform.
 11. Theapparatus of claim 7, wherein the mobile computing platforms areconfigured to communicate with other mobile computing platforms via aWi-Fi network, a cellular network, or a satellite network.
 12. Theapparatus of claim 7, wherein the query command includes a parameter forfiltering the list of mobile computing platforms.
 13. A non-transitorycomputer-readable medium having instructions thereon for wirelesscommunication, the instructions comprising: code for receiving, at anetwork management center, a ready message from a first mobile computingplatform, wherein the ready message indicates that the first mobilecomputing platform is ready to communicate with at least one secondmobile computing platform; code for compiling, at the network managementcenter, a list of mobile computing platforms configured forinter-network messaging based on the ready message; code for receiving aquery command from the first mobile computing platform or the at leastone second mobile computing platform; and code for disseminating thelist of the mobile computing platforms configured for inter-networkmessaging to the first mobile computing platform or the at least onesecond mobile computing platform based on the query command.
 14. Thecomputer-readable medium of claim 13, further comprising receiving anawake message from the first mobile computing platform at least once ina time period, wherein the awake message indicate that the first mobilecomputing platform is in a state for communicating with other mobilecomputing platforms.
 15. The computer-readable medium of claim 14,wherein the awake messages includes an internet protocol (IP) address ofthe first mobile computing platform, location information of the mobilecomputing platform, driver identification information associated withthe mobile computing platform, and a type of the mobile computingplatform.
 16. The computer-readable medium of claim 13, wherein theready message includes at least one of a internet protocol (IP) addressof the first mobile computing platform, location information of thefirst mobile computing platform, driver identification informationassociated with the first mobile computing platform, or a type of thefirst mobile computing platform.
 17. The computer-readable medium ofclaim 13, wherein the mobile computing platforms are configured tocommunicate with other mobile computing platforms via a Wi-Fi network, acellular network, or a satellite network.
 18. The computer-readablemedium of claim 13, wherein the query command includes a parameter forfiltering the list of mobile computing platforms.